package com.erp.hr.dao;

import com.erp.hr.dao.model.*;
import org.redragon.framework.hibernate.DaoCRUDIF;
import org.redragon.framework.hibernate.model.Pages;
import java.util.List;

public interface HrStaffDepartmentRDao extends DaoCRUDIF<HrStaffDepartmentR, HrStaffDepartmentRCO>{
    
    //获取职员部门关联对象列表
    public abstract List getHrStaffDepartmentRList(Pages pages, HrStaffDepartmentRCO paramObj);
    public List<HrStaffDepartmentR> getStaffListByDepartment(String departmentCode);
    public List<HrStaffDepartmentVO> getStaffByLader(HrStaffDepartmentR department);
    public List<HrStaffDepartmentVO> getStaffByPosition(String departmentCode,String positionId);
    public List<HrStaffDepartmentVO> getStaffByTopPosition(String departmentCode,String positionId);
    public HrDepartment getHrDepartmentParentCompany(String departmentCode);
    public List<HrStaffDepartmentVO> getStaffByDepartment(String departmentCode);

    /**
     * 根据岗位编码获取总部所有职员集合
     * @param postCode 岗位编码
     * @return 职员集合
     */
    List<HrStaff> getAllStaffByPostCode(String postCode);

    /**
     * 根据岗位编码获取分公司所有职员集合
     * @param companyCode 分公司编码
     * @param postCode 岗位编码
     * @return 职员集合
     */
    List<HrStaff> getAllStaffByPostCode(String companyCode, String postCode);

}